The present invention relates generally to computer systems, and more particularly to techniques for providing a virtual desktop in a computer network.
Many individuals extensively or periodically interface with a computer system for work or leisure. These individuals maintain desktop or portable computer systems and are typically able to customize the systems according the their specific needs and preferences. The customization can range from the set of application software installed on the system, the arrangement of the desktop icons, the organization of the file management system, the settings of the CRT display and mouse control, and so on.
For those who regularly interface with computers, many have access to multiple computer systems. For example, a user may be assigned a desktop computer system at work and may also maintain a personal computer system at home. The user may also have access to additional computer systems, such as a portable computer system assigned for business trips or other miscellaneous systems when on travel. These numerous systems are usually not maintained to be replicas of each other and have different customizations. As such, they are typically installed with different applications, contained different files that are organized in different arrangements, and have different desktop xe2x80x9cfeels.xe2x80x9d
In most situations, it is highly desirable and efficient to provide a xe2x80x9cvirtualxe2x80x9d computing environment such that the user sees the same desktop with which the user is accustomed, has access to the same applications and files, and enjoys the same amenities regardless of the computer system on which the user gains access. The virtual computing environment is particularly advantageous for individuals who travel often, for telecommuters who alternate between working at home or remote sites and the office, for individuals who perform portions of their office work at home, for individuals who gain access to other computer systems outside their normal computing environment, and many others.
One way to achieve a virtual computing environment is for the user to maintain identical computer systems. However, this technique is impractical in most instances because of the enormous amount of time and effort necessary to keep track of changes and update all systems. As a compromise, the user typically maintains the various systems to be as nearly identical as practical. However, the applications and files on these systems are usually not maintained current. Often times, one system has a copy of the most current work file and the remaining systems contain old versions, if at all, of the same file. Consequently, the differences that exist between the various systems undermine the advantages to be gained by maintaining nearly identical computer systems.
Another way to achieve a virtual computing environment is to maintain a network of identical computer systems. In this technique, each computer on the network is set up with identical desktop, applications, and file management system such that the user sees the same interface and has access to the same resources from any one of the computer systems connected to the network. The work files can be stored in a central location that is accessible from the computer systems on the network. However, this rigid desktop requirement prevents the user from customizing the desktop to the user""s particular needs and preferences. Additionally, the benefits are only realized from having access to the particular systems connected to the network. Often times, the home and portable computer systems are not connected to the network. Thus, the advantages provided by this technique are limited.
As can be seen from the above, a virtual computing environment that provides the user with a xe2x80x9cvirtualxe2x80x9d desktop accessible from a wide range of computer systems is highly desirable.
The invention provides a virtual desktop in a virtual computing environment. In an embodiment, the virtual computing environment is supported by a network of servers coupled to the Internet. The user is able to access the servers from a variety of systems through various communications links available to connect to the Internet.
A specific embodiment of the invention provides a computer-implemented method for providing a virtual desktop. A site server initially receives a URL access from a user at a local system. After a successful login, a personal web page of the user is retrieved from a file server and returned to the local system. Through the personal web page, the user is able to send commands that are received and processed by one or more backend servers. The web page represents the virtual desktop of the user and includes links for applications available to the user and files accessible by the user. The web page can also include links to personal information of the user.
Various aspects of the invention support the many features of the virtual desktop. For file manipulation, the virtual desktop includes applications that facilitate file creation, editing, conversion, e-mail, and so on. For file management, the virtual desktop includes a synchronization folder that contains files and folders to be maintained current with similar items on a synchronization folder on the local system. At designated times, the items in these synchronization folders are compared and updated, if necessary. The virtual desktop also includes facilities that allow for convenient access to news, information, and services on the Internet, and easy manipulation of retrieved information.
Another specific embodiment of the invention provides a computer-implemented method for storing information representative of a virtual desktop for a user. A file server receives information indicative of: (a) a layout of the virtual desktop, (b) a list of applications available to the user, and (c) files and folders associated with the user. Personal information can also be provided to the file server. The user information is maintained in a data record that is stored in the file server. For efficient implementation, the record can be partitioned and portions of the record can be stored in different databases on multiple file servers.
Yet another specific embodiment of the invention provides a computer network configured to provide a virtual computing environment. The network includes one or more servers. At least one of the servers includes a processor, an electronic storage medium (e.g., disk, tape, CD, and other storage media), and a memory. The servers are configured to receive a URL access from a user at a local system, retrieve a personal web page of the user from a file server, and transmit the personal web page to the local system. The servers are also configured to receive and process user commands that have been entered through the personal web. The web page represents the virtual desktop of the user and includes icons for applications available to the user and files accessible by the user.